A computer operator must frequently be able to position a cursor on a display device such as a cathode ray tube (CRT) or other visual display device. The operator must be able to position the cursor both horizontally and vertically over most of the surface of the display. Additionally, it is often desirable to make both horizontal and vertical movements simultaneously, or nearly simultaneously, such that the cursor moves diagonally or with a curvilinear motion, or at least appears to do so to an operator. It has also been widely recognized in the art that it is often desirable to minimize the size and complexity of the hardware and software needed to position the cursor, such as by using a single input device. This has particularly been the case with the development of software which relies heavily on a graphical user interface, due to the increased reliance on cursor positioning, and with the development of more compact computer designs such as portable and notebook size personal computers, due to the reduction of keyboard space available for cursor control.
One of the early approaches to cursor positioning was to provide some of the existing alphanumeric keys on a standard QWERTY keyboard, of the type commonly used in the industry, with extra functionality. This was done by using a separate control key such as "ALT" or "CTRL" in combination with an alphanumeric key to create control codes to designate up, down, left and right cursor movement. This approach has several significant limitations. It limits the use of the designated keys with respect to other software functionality which could be provided. Designs of this type also require the manipulation of several keys in combination, and thus reduce operator efficiency when used with software which requires frequent cursor movement.
A second approach to cursor positioning has utilized a plurality of dedicated cursor function keys. These keys have often been located on the right side of a standard QWERTY keyboard, adjacent to the alphanumeric keys. Typically, four keys were used to provide the vertical and horizontal movements noted above. This approach is also not very space efficient because it requires additional keys and hence, the use of larger keyboards, or more keyboard space, than would otherwise be required. This cursor positioning arrangement also typically requires an operator to move his hands away from the home key positions located in the center of the keyboard, thus reducing the efficiency of the operator.
A limitation of both dedicated cursor keys and cursor keys which are also alphanumeric keys, has to do with the speed of the cursor movement. Typically these keys can make discrete cursor movements corresponding to discrete keystrokes. Increasing the keystroke rate increases the rate of cursor movement. These keys also have an adjustable preset cursor speed for situations where a cursor key is held depressed continually. The limitation is that the preset speed is not variable during cursor operation, or if variable, varies based on the length of time during which the key is depressed. Therefore, an operator cannot effectively adjust the cursor speed during operation. Also, these cursor control arrangements are usually not capable of providing diagonal or curvilinear cursor movements.
A third approach to cursor positioning has been the use of separate graphic input devices, such as electronic or optical mice, trackballs, data tablets, or joysticks. These are often referred to as pointing devices, because they have the ability to move the cursor from one point on a display screen to another point by what appears to an operator as diagonal or curvilinear movement. These devices have the ability to make large movements on a display device, such as a cathode ray tube (CRT) screen, faster than such movement can be accomplished by with the use of dedicated cursor keys.
Pointing devices, however, have several generic limitations, particularly when used in conjunction with an alphanumeric input device such as a keyboard. One limitation is that these devices require additional space. Either more space must be dedicated on the keyboard, or additional work space, such as space adjacent to the keyboard must be used to house and operate the device. For example, a typical electronic mouse device requires space to house the electronic mouse, and space to move the electronic mouse in order to generate cursor movement on the display device. In some product applications, such as laptop or notebook size personal computers, it is very difficult because of their small size to dedicate additional space on the keyboard to a pointing device. Also, the portable nature of these products often make it difficult if not impossible to find workspace available to house and operate these devices. In addition, another limitation of this type of input device is that when they are used in conjunction with a keyboard, their operation usually requires that the operator remove at least one hand from the home keys. When used with software applications which require a combination of alphanumeric keystrokes and cursor movements, pointing devices can be cumbersome. Another limitation is that pointing devices are often considered to be undesirable for making small horizontal or vertical movements, such as moving up or down one line, or moving backward or forward one character. Therefore, it is often necessary to have dedicated cursor keys such as those described above, to be used in conjunction with pointing devices. This replication of functionality requires additional space and can be costly.
A fourth approach to cursor positioning, designed to avoid some of the limitations noted, has been to consolidate the normal cursor functionality, and in some cases pointing device functionality, into one key. One such approach is described in U.S. Pat. No. 4,680,577 to Straayer et al. In this approach, a multipurpose keyswitch for controlling cursor movement is described. The keyswitch has the ability to sense both lateral movement for cursor control and vertical movement for character entry. The approach requires the use of a key cap, a reference structure and sensors to detect key cap movement. The key cap moves laterally with respect to the reference structure. The sensors are used to detect lateral and vertical movement. These structures are relatively complicated mechanical structures due to the necessity of attaching sensors to the reference structure. Also, the physical size constraints of the hardware required to produce the functionality of this invention, particularly vertical key travel, make it undesirable for use in some applications which require low key profile, such as laptop and notebook size personal computer keyboards. In addition, this invention seems to require that an operator manually switch modes between alphanumeric input and cursor control input, such as by use of a control key as described previously. The present invention does not require attachment of sensors to a reference structure, because vertical key travel is not required for operation of the device. The present invention also does not require switching modes from cursor to alphanumeric inputs.